Method for deblocking field-frame video

ABSTRACT

Methods are disclosed for performing improved deblocking filtering across edges between macroblocks, with particular application to cases where one macroblock is field coded and its neighbors are frame coded. A method for filtering across horizontal edges comprises determining which macroblocks are considered to be vertically adjacent to each other. The method also determines which macroblocks are considered to be sampled at a same time. Finally, filtering is performed between vertically adjacent macroblocks that are considered to be sampled at a same time. Another method for filtering across vertical edges comprises determining which macroblocks are considered to be horizontally adjacent to each other. The method effectively re-arranges a vertical ordering of horizontal lines of at least a subset of the horizontally adjacent macroblocks. Finally, filtering is performed between the horizontally adjacent macroblocks after the re-arranging.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation in part of U.S. application Ser. No. 10/246,977 (attorney docket number 13358US02) filed on Sep. 19, 2002, which is incorporated herein by reference in its entirety, which in turn claims priority to U.S. provisional application serial No. 60/324,300 (attorney docket number 13358US01) filed on Sep. 24, 2001, and is also incorporated herein by reference in its entirety.

[0002] This application also claims priority to U.S. provisional application serial No. 60/429,000 filed on Nov. 25, 2002 (attorney docket number 14157US01), which is incorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

[0003] Certain embodiments of the present invention relate to the field of compression and decompression of digital video signals, also referred to as coding, or encoding, and decoding. There is a substantial body of prior art in the area of digital video standards, encoding, and decoding, with a wide variety of implementations and data formats.

[0004] More specifically, certain embodiments of the present invention relate to the aspect of video encoding and decoding that is variously called “deblocking”, “loop filtering” or “post-processing”. The term “deblocking” is used herein.

[0005] Aspects of deblocking are addressed by the proposed MPEG-AVC/H.264 draft standard, document number JVT-G050, entitled “Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec. H.264|ISO/IEC 14496-10 AVC), which is currently being developed by the MPEG-ITU Joint Video Team. Embodiments of the present invention are an improvement of the system and method disclosed in application Ser. No. 10/246,977 filed on Sep. 19, 2002.

[0006] In deblocking of mixed field-frame pictures, there is a problem of how to specify the appropriate filter for use at the boundaries between vertically adjacent macroblocks (MBs) when one neighbor is field coded (field ordered) and the other is frame coded (frame ordered). If both MBs are frame coded, deblocking can be performed conventionally, as is well known in the art. If both MBs are field coded, there are various options. Deblocking is performed using conventional frame filtering methods, but operates on one field at a time.

[0007] In the case where the current macroblock (MB) is field coded and the neighboring MB that is vertically adjacent, above or below the current MB, is frame coded, there are various choices that may be made for specifying the filtering at the boundary between the two macroblocks.

[0008] In the AVC proposed standard, there is a structure called “supermacroblock” (super-MB) which comprises two vertically adjacent MBs. Super-MB is used when MB-level adaptive field-frame coding (MB-AFF) is enabled. When MB-AFF is enabled, each super-MB may be either field coded or frame coded. A super-MB that is frame coded comprises two vertically adjacent frame MBs (an upper frame MB and a lower frame MB). A super-MB that is field coded comprises two macroblocks, one from each field (a top field MB and a bottom field MB). That is, one of the MBs in a field coded super-MB covers a 16×16 array of pixels in the top field of the frame, and the other MB in the same field coded super-MB covers a 16×16 array of pixels in the bottom field of the same frame.

[0009] The FCD (Final Committee Draft) of the AVC (JVT) standard specified the above aspect of the deblocking operation as:

[0010] “When mb_adaptive_frame_field_flag=1, a MB may be coded in frame or field decoding mode. For frame MB, deblocking is performed on the frame samples. In such a case, if neighbouring MB pairs are field MBs, they shall be converted into frame MB pairs (FIGS. 8-3) before deblocking. For field MB, deblocking is performed on the field samples of the same field parity. In such a case, if neighbouring MB pairs are frame MBs, they shall be converted into field MB pairs (FIGS. 8-3) before deblocking.”

[0011] The method described above has a number of problems. In the case of a frame MB, and where the neighboring MBs are field coded, the field coded MBs are “converted into frame MB pairs”. In other words, the lines from the two different fields are interleaved together as if they were from one frame which represents one instant in time, which in fact is incorrect. When lines of two different fields are interleaved and filtered together, the filtering tends to cause blurring between the fields. A reasonable assumption is that the encoder chose field coding for the neighboring MBs because the encoder determined that there is inter-field motion and, therefore, it is reasonable to expect inter-field blurring caused by the filtering.

[0012] When the current MB is field coded and the neighboring MBs are frame coded, they are “converted into field MB pairs” which causes another problem, since a 4×4 sub-block within a frame MB, when converted into a field MB structure, covers only 2 lines. As a result, a deblocking filter that has an extent of 3 or more pixels on each side of the boundary between MBs would require changing pixels beyond the boundary sub-block an extra time after the result of the normal filtering.

[0013] A more recent version of the AVC draft Standard, JVT-E146, referred as the DIS (Draft International Standard) replaces the FCD with the following:

[0014] “When mb_adaptive_frame_field_flag is equal to 1, all macroblock pairs are assumed to be reconstructed within the frame independent of the mb_field_decoding_flag.”

[0015] One interpretation of such a statement is as follows:

[0016] “All MBs are converted into frame order before deblocking, regardless of whether the MBs are field coded or frame coded.”

[0017] Such an interpretation is even more problematic than the version above in the FCD. In the DIS version, with all field coded MBs being combined into frame order and filtered in frame order, there is a large degree of inter-field blurring. When there is motion in the video there tends to be large differences between successive fields, particularly at the edges of objects, and constitutes one of the main reasons an encoder would choose field coding for MBs. Where there are large differences between successive fields, and the top and bottom fields located at one super-MB are combined into one frame, there are large differences between successive lines within the resulting combined MB, even if there are little or no differences between lines within any given field MB and even if there are no blocking artifacts in any one field. Such differences between lines, that are artificially induced by the conversion of field super-MBs into frame super-MBs, cause the deblocking filter to work to reduce those differences and cause blurring from one field to the next, thereby tending to defeat the advantage of choosing field coded super-MBs.

[0018] It is desirable to find a method of deblocking pictures of video that contain a mixture of field and frame coding such that blockiness is reduced and there are no additional image impairments introduced.

[0019] Further limitations and disadvantages of conventional, traditional, and proposed approaches will become apparent to one of skill in the art, through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.

BRIEF SUMMARY OF THE INVENTION

[0020] An embodiment of the present invention provides an improved method of performing deblocking filtering across horizontal and vertical edges between macroblocks, with particular application to cases where one macroblock is field coded and one or more of its neighbors are frame coded.

[0021] A method for filtering across horizontal edges (i.e., between vertically adjacent macroblocks), comprises determining which macroblocks of video data are considered to be vertically adjacent to each other. The method also determines which macroblocks of video data are considered to be sampled at a same time. Finally, filtering is performed between vertically adjacent macroblocks of the macroblocks of video data that are considered to be sampled at a same time.

[0022] A method for filtering across vertical edges (i.e., between horizontally adjacent macroblocks), comprises determining which macroblocks of video data are considered to be horizontally adjacent to each other. The method effectively re-arranges a vertical ordering of horizontal lines of at least a subset of the horizontally adjacent macroblocks of video data. Finally, filtering is performed between the horizontally adjacent macroblocks of video data after the re-arranging.

[0023] These and other advantages and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

[0024]FIG. 1 illustrates a frame coded super-macroblock of video data vertically adjacent to and above a field coded super-macroblock of video data to be filtered across a horizontal boundary between the two super-macroblocks in accordance with an embodiment of the present invention.

[0025]FIG. 2 illustrates a representation of frame and field coded super-macroblocks of video data versus time in accordance with an embodiment of the present invention.

[0026]FIG. 3 illustrates a first field coded super-macroblock of video data vertically adjacent to a second field coded super-macroblock of video data to be filtered across the horizontal boundary between the two super-macroblocks in accordance with an embodiment of the present invention.

[0027]FIG. 4 illustrates an effective re-arrangement of the fields of the field coded super-macroblocks of FIG. 3 to accommodate filtering across the horizontal boundary of the two super-macroblocks in accordance with an embodiment of the present invention.

[0028]FIG. 5 illustrates a lower frame macroblock of the frame coded super-macroblock of FIG. 1 that is to be filtered across a horizontal boundary with the vertically adjacent field coded super-macroblock of FIG. 1 in accordance with an embodiment of the present invention.

[0029]FIG. 6 illustrates a field coded super-macroblock of video data vertically adjacent to and above a frame coded super-macroblock of video data to be filtered across a horizontal boundary between the two super-macroblocks in accordance with an embodiment of the present invention.

[0030]FIG. 7 illustrates an upper frame macroblock of the frame coded super-macroblock of FIG. 6 that is to be filtered across a horizontal boundary with the vertically adjacent field coded super-macroblock of FIG. 6 in accordance with an embodiment of the present invention.

[0031]FIG. 8 illustrates frame coded super-macroblocks horizontally adjacent to field coded super-macroblocks to be filtered across a vertical boundary between the frame coded and field coded super-macroblocks in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0032]FIG. 1 and FIG. 2 illustrate the arrangement of field and frame MBs in video that has a field structure, also referred to as interlaced video. FIG. 1 shows the super-MB structure that is used in the current draft of the AVC Standard. When MB-AFF is enabled, MBs are grouped into pairs called super-MBs. In the AVC standard, each MB is of the size 16×16 pixels.

[0033] Each super-MB is either frame coded or field coded. In frame coded super-MBs, a super-MB 10 comprises two MBs 11 and 12, each of which contains a set of sequential lines from a frame, and one MB (the upper frame MB 11) is directly above the other (lower frame MB 12), in the sense of the vertical axis of the video. A field coded super-MB 20 comprises two MBs 21 and 22, one from each of the two fields, i.e. top field 21 and bottom field 22.

[0034]FIG. 2 illustrates a frame coded super-MB 10 and a field coded super-MB 20 below the frame coded super-MB 10, showing the time axis 30 and vertical axis of the video 40. The top field lines and bottom field lines are shown separately in the frame coded super-MB 10 to illustrate their relation to top field and bottom field lines in field coded super MB's. In FIG. 2, the bottom field 50 follows the top field 60 in time. The “X”s indicate top field lines, and the “O”s indicate the bottom field lines. The number of lines per super-MB in FIG. 2 are not to scale. FIG. 2 illustrates the nature of temporal sampling of interlaced video.

[0035] In general, in interlaced video, each field is sampled at a different time, with the time interval between successive fields normally being constant. In regions of a video image where there is little or no motion, it may be appropriate for a video compressor to group lines from the two fields together and treat them as if they were sampled at one time. Such a case is, in effect, illustrated by the frame super-MB 10.

[0036] In regions of a video image where there is significant motion or brightness change between the two fields, it may be appropriate for a video compressor to separate the two fields and treat them somewhat independently. Such a case is illustrated by the field super-MB 20.

[0037] In video standards and formats other than AVC, the super-MB arrangement may not be used, however the same methods described herein apply nevertheless. For example, in MPEG-2, there are no super-MBs, however there are frame coded MBs and field coded MBs, such that frame coded MBs comprise 16×16 arrays of pixels, while field coded MBs comprise 16×8 arrays of pixels (8 lines high). Apart from the terminology and the number of lines per MB, similar principles apply as with AVC.

[0038] In the improved methods of deblocking described herein, the operations of deblocking across horizontal edges, i.e. the edges between vertically adjacent MBs, are performed in accordance with an embodiment of the present invention as described below.

[0039] Filtering is performed between vertically adjacent MBs that are considered to be sampled at the same time, wherever possible. For example, in the case of two vertically adjacent field super-MBs 110 and 120 as shown in FIG. 3, the top field MBs 111 and 113 from the adjacent super-MBs 110 and 120 are filtered together and, separately, the bottom field MBs 112 and 114 from the adjacent super-MBs 110 and 120 are filtered together as shown in FIG. 4.

[0040] Referring to FIG. 3 and FIG. 4, note that the MBs that are adjacent in the same field are not adjacent in the super-MB data structure. In the case of two vertically adjacent frame super-MBs, each MB is filtered with the directly adjacent MB. MBs that are adjacent within the same super-MB and in separate, adjacent super-MBs are normally considered to have been sampled at the same time since they are all frame coded and part of the same frame.

[0041] In cases where adjacent super-MBs are not of the same type i.e. field vs. frame, the sampling time of each of the fields in a field super-MB are not generally considered to be the same as the sampling time of the frame in an adjacent frame super-MB. In such cases, pixel data representing a close approximation to the same sampling time is used for filtering. For example, when one super-MB is frame coded and the adjacent super-MB is field coded, the frame represented in the frame super-MB may be considered to cover the sample times of both the top field and bottom field of the adjacent field super-MB.

[0042] The MB within the frame coded super-MB that is nearer to the field coded super-MB is preferably used for filtering with the adjacent edge of both the top field MB and the bottom field MB within the field super-MB. For example, in FIG. 5, a lower frame macroblock 12 of a frame coded super-macroblock 10 is vertically closer than the upper frame macroblock of super-MB 10 is to the lower field super-macroblock 20 since the frame coded super-macroblock 10 is vertically above the field coded super-macroblock 20 (see FIG. 1). In accordance with an embodiment of the present invention, the lower frame macroblock 12 is considered to be sampled at the same time as the top field macroblock 21 and they are, therefore, filtered together. Also, the lower frame macroblock 12 is considered to be sampled at the same time as the bottom field macroblock 22 and they are, therefore, filtered together.

[0043] Certain embodiments of the present invention provide a filtering method for horizontal edges or boundaries which may be viewed as several different discrete cases and is illustrated and described herein. Filtering of vertical edges between horizontally adjacent MBs may also be viewed as several different discrete cases and is also described herein in accordance with an embodiment of the present invention.

[0044] In a first case, the horizontal boundary between two adjacent frame coded super-MBs is considered. In accordance with an embodiment of the present invention, both super-MBs are treated as frame coded, which they are, and the edges are filtered directly as specified in the filter specification.

[0045] In a second case, the horizontal boundary between two adjacent field coded super-MBs (see FIG. 3 and FIG. 4) is considered. In accordance with an embodiment of the present invention, the individual top field (111 and 113) and bottom field (112 and 114) MBs are logically re-arranged within the super-MBs to form two edges, or the equivalent, between the two super-MBs: one for top field and one for bottom field. The fields are matched according to polarity (top vs. bottom). The matching operation does not necessarily require actually moving the data, but merely describes an aspect of the filter algorithm.

[0046] In a third case, the super-MB of interest is a field coded super-MB 20, and the super-MB 10 above it is frame coded as illustrated in FIG. 1. In accordance with an embodiment of the present invention, each of the field MBs 21 and 22 in the field coded super-MB 20 is logically rearranged so that it borders the lower frame MB 12 in the frame coded super-MB 10 above as illustrated in FIG. 5. In such a logical rearrangement, both the top field 21 and bottom field 22 MBs in the lower super-MB 20 border the lower MB 12 in the frame coded super-MB 10 above it and logically have a common border.

[0047] For the third case, there are a few choices for handling the common border that include, but are not limited to: Filter A with C and then B with C; filter B with C and then A with C; filter A with the top field samples of C and filter B with the bottom field samples of C; filter only A with C but not B with C; filter B with C but not A with C; choose whether to filter A or B with C depending on which of A and B is more similar to C; choose whether to filter A or B with C depending on which of A and B is less similar to C; or do not filter the edge from either A or B. Each option has minor advantages and disadvantages. An embodiment of the present invention filters A with the top field samples of C and filters B with the bottom field samples of C. The meanings of top field samples and bottom field samples of a frame coded macroblock are illustrated in FIG. 2, top field 60 and bottom field 50 of frame super-MB 10.

[0048] In a fourth case, the super-MB of interest is a frame coded super-MB 220, and the super-MB 210 above it is field coded as illustrated in FIG. 6. The boundary between the upper frame MB 213 and lower frame MB 214 in the frame coded super-MB 220 is filtered across in the conventional manner, since the two MBs are both frame coded.

[0049] The MBs 211 and 212 in the field coded super-MB 210 above the frame coded super-MB 220 may be re-arranged logically as illustrated in FIG. 7.

[0050] For the fourth case, there are multiple choices of how to handle the boundary between A, the upper frame MB 213 in the frame coded super-MB 220, and B and C, the two MBs 211 and 212 in the field coded super-MB 210 above. In accordance with an embodiment of the present invention, the options include, but are not limited to: Filter A with B and then A with C; filter A with C and then A with B; filter the top field samples of A with B and filter the bottom field samples of A with C; filter A with B and not with C; filter A with C and not with B; filter A with a mixture of B and C; or do not filter the edge of A with either B or C.

[0051] Each option has advantages over prior and proposed deblocking methods. An embodiment of the present invention filters the top field samples of A with B and filters the bottom field samples of A with C.

[0052] Vertical edges are between horizontally adjacent MBs, or equivalently between horizontally adjacent super-MBs, and are filtered in the horizontal direction by deblocking filters. There are five cases of the types of horizontally adjacent MBs.

[0053] In a first case, where a frame MB is horizontally adjacent to another frame MB, filtering is performed conventionally in accordance with an embodiment of the present invention.

[0054] In a second case, where a field MB is horizontally adjacent to another field MB of the same polarity, (i.e. both are top fields or both are bottom fields) filtering is performed conventionally in accordance with an embodiment of the present invention.

[0055] In a third case, where a field MB is horizontally adjacent to another field MB of the opposite polarity, (i.e. one is a top field and the other is a bottom field), the case never occurs in a well-designed video coding system such as AVC or MPEG-2. The case is preferably prevented from occurring in accordance with an embodiment of the present invention. If such a case does occur, the field MBs are logically re-arranged such that each field MB is horizontally adjacent to another field MB of the same polarity, and the result is filtered conventionally.

[0056] A fourth case is shown in FIG. 8, where there is a frame ordered super-MB 310 with a field ordered super-MB 320 to its left. The term “frame ordered” may be used interchangeably with “frame coded”, and the term “field ordered” may be used interchangeably with “field coded”, as indicated previously herein. In accordance with an embodiment of the present invention, the horizontal video lines in the field ordered super-MB 320 are logically re-arranged into frame order before performing the filtering across the vertical edge. That is, the top-field MB 321 and the bottom field MB 322 are effectively interleaved with each other. For the purpose of filtering across the vertical edge, this is equivalent to rearranging the frame ordered super-MB 310 into field order before filtering. That is, the horizontal lines of the upper frame MB 323 and the lower frame MB 324 are effectively separated or un-interleaved to match the field order of the field ordered super macroblock 320. Note that the re-arrangement before filtering does not cause inter-field blurring, unlike the problem with filtering horizontal edges after a similar logical rearrangement.

[0057] A fifth case is also shown in FIG. 8, where there is a field ordered super-MB 340 with a frame ordered super-MB 330 to its left. In accordance with an embodiment of the present invention, the horizontal video lines in the field ordered super-MB 340 are logically re-arranged into frame order, or equivalently, the horizontal video lines of the frame coded super-MB 330 are logically re-arranged into field order, before performing the filtering across the vertical edge. This is equivalent to the case above and does not cause inter-field blurring.

[0058] While the invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims. 

What is claimed is:
 1. A method for performing deblocking filtering across horizontal edges between macroblocks of video data, said method comprising: determining which macroblocks of video data are considered to be vertically adjacent to each other; determining which macroblocks of video data are considered to be sampled at a same time; and filtering between vertically adjacent macroblocks of said macroblocks of video data that are considered to be sampled at a same time.
 2. The method of claim 1 wherein said macroblocks of video data comprise a first super-macroblock of video data being frame coded and a second super-macroblock of video data being frame coded and vertically adjacent to, above or below, said first super-macroblock of video data.
 3. The method of claim 1 wherein said macroblocks of video data comprise a first super-macroblock of video data being frame coded and a second super-macroblock of video data being field coded and vertically adjacent to, above or below, said first super-macroblock of video data.
 4. The method of claim 1 wherein said macroblocks of video data comprise a first super-macroblock of video data being field coded and a second super macroblock of video data being field coded and vertically adjacent to, above or below, said first super-macroblock of video data.
 5. The method of claim 1 wherein all vertically adjacent macroblocks of said macroblocks of video data are frame coded and are considered to be sampled at a same time.
 6. The method of claim 1 wherein: all vertically adjacent macroblocks of said macroblocks of video data are field coded; top field macroblocks of said vertically adjacent macroblocks are considered to be sampled at a first same time; and bottom field macroblocks of said vertically adjacent macroblocks are considered to be sampled at a second same time.
 7. The method of claim 1 wherein: certain vertically adjacent macroblocks of said macroblocks of video data are field coded; certain other vertically adjacent macroblocks of said macroblocks of video data are frame coded; top field macroblocks of said vertically adjacent field coded macroblocks and said vertically adjacent frame coded macroblocks are considered to be sampled at a same first time; and bottom field macroblocks of said vertically adjacent field coded macroblocks and said vertically adjacent frame coded macroblocks are considered to be sampled at a same second time.
 8. The method of claim 2 wherein said first super-macroblock and said second super-macroblock each comprise an upper frame macroblock and a lower frame macroblock that are vertically adjacent to each other.
 9. The method of claim 3 wherein said first super-macroblock comprises an upper frame macroblock and a lower frame macroblock that are vertically adjacent to each other, and said second super-macroblock comprises a top field macroblock and a bottom field macroblock.
 10. The method of claim 4 wherein said first super-macroblock and said second super-macroblock each comprise a top field macroblock and a bottom field macroblock.
 11. The method of claim 8 wherein a lower frame macroblock of said first super-macroblock is considered to be vertically adjacent to an upper frame macroblock of said second super-macroblock.
 12. The method of claim 8 wherein a lower frame macroblock of said second super-macroblock is considered to be vertically adjacent to an upper frame macroblock of said first super-macroblock.
 13. The method of claim 9 wherein a lower frame macroblock of said first super-macroblock is considered to be vertically adjacent to a top field macroblock and a bottom field macroblock of said second super-macroblock.
 14. The method of claim 9 wherein an upper frame macroblock of said first super-macroblock is considered to be vertically adjacent to a top field macroblock and a bottom field macroblock of said second super-macroblock.
 15. The method of claim 1 wherein said filtering comprises finite impulse response (FIR) filtering with a pre-determined number of taps.
 16. The method of claim 1 wherein said filtering comprises finite impulse response (FIR) filtering with a pre-determined number of taps and wherein a set of filter coefficients corresponding to said pre-determined number of taps constitutes any one of a plurality of sets of possible filter coefficients.
 17. The method of claim 1 wherein said filtering comprises finite impulse response (FIR) filtering with a number of taps being determined by at least one of a macroblock type on a first side of a horizontal boundary being filtered across, and a macroblock type on a second side of said horizontal boundary being filtered across.
 18. A method for performing deblocking filtering across vertical edges between macroblocks of video data, said method comprising: determining which macroblocks of video data are considered to be horizontally adjacent to each other; effectively re-arranging a vertical ordering of horizontal lines of at least a subset of said horizontally adjacent macroblocks of video data; and filtering between said horizontally adjacent macroblocks of said macroblocks of video data after said re-arranging.
 19. The method of claim 18 wherein a first field-ordered super-macroblock of video data is horizontally adjacent to a first frame-ordered super-macroblock of video data, and a top field macroblock and a bottom field macroblock of said first field-ordered super-macroblock of video data are effectively rearranged to a second frame-ordered super-macroblock of video data.
 20. The method of claim 18 wherein a first field-ordered super-macroblock of video data is horizontally adjacent to a first frame-ordered super-macroblock of video data, and an upper frame macroblock and a lower frame macroblock of said first frame-ordered super-macroblock of video data are effectively re-arranged to a second field-ordered super-macroblock of video data.
 21. A method for performing deblocking filtering across vertical edges between macroblocks of video data, said method comprising: determining which macroblocks of video data are considered to be horizontally adjacent to each other; determining which horizontally adjacent macroblocks are of a same type; and filtering between said horizontally adjacent macroblocks of said same type.
 22. The method of claim 21 wherein said horizontally adjacent macroblocks of said same type are frame macroblocks.
 23. The method of claim 21 wherein said horizontally adjacent macroblocks of said same type are field macroblocks comprising top fields.
 24. The method of claim 21 wherein said horizontally adjacent macroblocks of said same type are field macroblocks comprising bottom fields. 